Experience Report Reengineering an Ada95-programmed Command and Control Information System by Using UML
نویسنده
چکیده
We describe the concepts and experiences we have made in an ongoing project by modeling and reengineering an experimental command and control information system which is nearly completely implemented in Ada95. For this purpose, we use the UML tool Software through Pictures from Aonix which offers a reengineering component that produces class diagrams from the source code. These diagrams serve as a starting point of a model of the complete system which itself serves as a base for modeling the most important requirements of the system. Furthermore, by refining the model through state-transition diagrams and redesigning the system the UML tool allows an automatic code generation for components which will be implemented in an other language like Java. Hence, the result of the reengineering process should be a more structured system, where proprietary solutions are replaced by commercial products (e.g. an application server) as much as possible. 1. The Integration Platform for Command and Control Information Systems INFIS In our department Command and Control Information Systems of our institute an integration platform for command and control information systems called INFIS, has been developed which serves as a testbed in international tests for interoperability of command and control information systems. The system is structured as a three tier architecture as illustrated in Figure 1. Figure 1. Structure of INFIS We use the ORACLE 8 system as the database system DBS. It is connected by a proprietary implementation to the CONTROLLER which is completely implemented in Ada95. The CONTROLLER implements the application logic and the connection to other systems. The graphical user interfaces GUIs are implemented as a Java-applet and they are connected to the CONTROLLER by a CORBA-Interface. This realizes the platform independent access to the system. The CONTROLLER consists of nearly 300.000 lines of code in 1.100 Ada95 units. By historic reasons this system has been developed without developing a detailed model of it. Furthermore, a lot of mechanisms which are now applicable in commercial of the shelf products, like application servers, are implemented by proprietary solutions. These are the reasons why we have started to reengineer the system by the process which will be described in the following section. 2. Reengineering Process for INFIS We start from the actual system and use the reengineering component of the UML tool Software through Pictures from Aonix. This tool produces a lot of class diagrams and class tables. These diagrams are combined with manually developed diagrams of INFIS’ high-level structures. The resulting diagrams serve as the basic model. Because of the syntactical structure of Ada95 programs which is not pure object oriented compared to Java programs, the classes in the basic model only consist of attributes. Thus, the methods have to be manually added to the classes of the models. Nevertheless, the automatic generation of the models saves a lot of time for modeling and reduces the number of mistakes in the models. By adding the methods to the models’ classes, some requirements to the system which have not been explicitly expressed before, are fixed and illustrated by use case, sequence, and activity diagrams. Starting from this analysis of the system, the redesigning process will be started. CONTROLLER
منابع مشابه
Development of a Control System for Teleoperated Robots Using UML and Ada95
In this paper, a control system in the domain of teleoperated service robots is presented. A reference architecture ACROSET has been analyzed and designed following a concurrent object modeling and architectural design methodology that uses UML as describing language. The architecture of the whole system has been implemented in a blasting robot for ship hullsGOYA –using Ada 95 and GLADE. Our pr...
متن کاملUsing MetaScribe to Prototype an UML to C++/Ada95 Code Generator
The use of program generation from graphical representations like UML is increasing in software projects. The notion of hypergenericity is raising up to improve program generators. This paper presents MetaScribe, a tool designed to build program generators providing guidelines to program generator designers and having enhanced facilities for reusability. An example illustrates the use of MetaSc...
متن کاملAn Investigation: Reengineering Sequential Procedure-Driven Software into Object-Oriented Event-Driven Software through UML Diagrams
Reengineering a COBOL legacy system is a difficult multi-step process, particularly when the COBOL legacy system is a sequential procedural-driven system which is being reengineered into an object oriented, event-driven system. In this scenario, it is necessary to analyse the legacy system in order to identify possible objects with their attributes and methods within the code and to determine h...
متن کاملHarvesting Software Systems for MDA-Based Reengineering
In this paper we report on a feasibility study in reengineering legacy systems towards a model-driven architecture (MDA). Steps in our approach consist of (1) parsing the source code of the legacy system according to a grammar; (2) mapping the abstract syntax trees thus obtained to a grammar model that is defined in the Meta-Object Facility (MOF); (3) using model to model (M2M) transformations ...
متن کاملTransforming Fuzzy State Diagram to Fuzzy Petri net
UML is known as one of the most common methods in software engineering. Since this language is semi-formal, many researches and efforts have been performed to transform this language into formal methods including Petri nets. Thus, the operation of verification and validation of the qualitative and nonfunctional parameters could be achieved with more ability. Since the majority of the real world...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2001